home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 91xx / 9109a.d64 / demo 2.src (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  3KB  |  62 lines

  1. 10 SYS36864
  2. 20 .OPT OO
  3. 30 *= $C000
  4. 40 ; DIESES PROGRAMM DEFINIERT ZWEI
  5. 50 ; NEUE BASICBEFEHLE
  6. 60 ; - BEEP     ERZEUGT EINEN TON
  7. 70 ; - ERASE X  LOESCHT BILDSCH. ZEILE X
  8. 80 ; NIKOLAUS HEUSLER, MUENCHEN, 3.91
  9. 100 IBAS =776;VEKTOR FUER BASICBEFEHL
  10. 110 INTER =$A7AE;INTERPRETERSCHLEIFE
  11. 120 OLDBAS =$A7E4;ALTEN BEFEHL AUSFUEHREN
  12. 130 SID =54272;SOUNDCHIP BASISADRESSE
  13. 140 CHRGET =115;NAECHSTES ZEICHEN HOLEN
  14. 150 ILLQUAN =$B248;ILLEGAL QUANTITY ERROR
  15. 160 GETX =$B79E;HOLT BYTE-WERT NACH X
  16. 170 CLRX =59903;LOESCHT BILDSCHIRMZEILE X
  17. 180 OK =$E18D;OK AUSGEBEN
  18. 190 TMP =2;ZWISCHENSPEICHER
  19. 200 PTR =122;ZEIGER AUF BASICBEFEHL
  20. 300 ; --- NEUE BEFEHLE DEFINIEREN
  21. 310 LDA #<NEUBEF:LDY #>NEUBEF;ZEIGER AUF NEUE ROUTINE
  22. 320 STA IBAS:STY IBAS+1;VEKTOR VERBIEGEN
  23. 330 JMP OK;OK AUSGEBEN
  24. 400 ; --- NEUE BEFEHLS-ROUTINE
  25. 410 NEUBEF LDA PTR:LDY PTR+1:STA TMP:STY TMP+1;BASIC-POINTER RETTEN:LDX #0
  26. 420 ; --- TEST, OB BEFEHL NR. 1
  27. 430 TEST1 JSR CHRGET;NAECHSTES ZEICHEN HOLEN:CMP TEXT1,X;BEFEHLSWORT PRUEFEN
  28. 440 BNE NEIN1;WENN NICHT, DANN BEFEHL 2 PRUEFEN
  29. 450 INX:CPX #4;LAENGE DES BEFEHLSWORTES:BNE TEST1;NICHT ERREICHT, WEITER TESTEN
  30. 460 JSR PIEPS;BEFEHL AUSFUEHREN
  31. 470 ; --- NEUEN BEFEHL FERTIG AUSGEFUEHRT
  32. 480 FERTIG JMP INTER;WEITER MIT INTERPRETERSCHLEIFE
  33. 500 ; --- WAR NICHT DER ERSTE BEFEHL
  34. 510 NEIN1 LDA TMP:LDY TMP+1:STA PTR:STY PTR+1;POINTER ZURUECKHOLEN:LDX #0
  35. 520 ; --- TEST, OB BEFEHL NR. 2
  36. 530 TEST2 JSR CHRGET;NAECHSTES ZEICHEN HOLEN:CMP TEXT2,X;BEFEHLSWORT PRUEFEN
  37. 540 BNE NEIN2;WENN NICHT, DANN FERTIG
  38. 550 INX:CPX #5;LAENGE DES BEFEHLSWORTES:BNE TEST2;NICHT ERREICHT, WEITER TESTEN
  39. 560 JSR LOESCH;BEFEHL AUSFUEHREN
  40. 570 JMP FERTIG;UND WEITER WIE OBEN
  41. 600 ; --- WAR NICHT DER ZWEITE BEFEHL
  42. 610 NEIN2 LDA TMP:LDY TMP+1:STA PTR:STY PTR+1;POINTER ZURUECKHOLEN
  43. 620 JMP OLDBAS;ALTEN BASIC-BEFEHL AUSFUEHREN
  44. 700 ; --- ROUTINEN DER NEUEN BEFEHLE
  45. 710 ; --- BEFEHL 1 - TON AUSGEBEN
  46. 720 PIEPS JSR CHRGET;NAECHSTES ZEICHEN:LDA #0:LDX #24;SID-REGISTER LOESCHEN
  47. 730 CLRSID STA SID,X:DEX:BPL CLRSID;NULL IN ALLE REGISTER SCHREIBEN
  48. 740 LDA #15:STA SID+24;LAUTSTAERKE AUF 15
  49. 750 LDA #100:STA SID+1;TONHOEHE:LDA #240:STA SID+6;WELLENFORM
  50. 760 LDA #17:STA SID+4;TON EIN
  51. 770 LDX #0:LDY #0;WARTESCHLEIFE
  52. 780 WAIT NOP:DEX:BNE WAIT:DEY:BNE WAIT;WARTET CA. 1/2 SEKUNDE
  53. 790 LDA #16:STA SID+4;TON AUS:RTS;FERTIG
  54. 800 ; BEFEHL 2 - BILDSCHIRMZEILE LOESCHEN
  55. 810 LOESCH JSR CHRGET;NAECHSTES ZEICHEN:JSR GETX;NUMMER DER ZEILE HOLEN
  56. 820 CPX #25;GROESSER ALS 24:BCC STIMMT;KLEINER, DANN OK
  57. 830 JMP ILLQUAN;SONST FEHLERMELDUNG AUSGEBEN
  58. 840 STIMMT JSR CLRX;BILDSCHIRMZEILE NR. X LOESCHEN:RTS;FERTIG
  59. 900 ; --- BEFEHLS-TEXTE
  60. 910 TEXT1 .ASC "BEEP";TEXT IM ASCII-CODE
  61. 920 TEXT2 .ASC "ERASE";TEXT IM ASCII-CODE
  62.